17 research outputs found

    A New Real-Time Embedded Video Denoising Algorithm

    Get PDF
    International audienceMany embedded applications rely on video processing or on video visualization. Noisy video is thus a major issue for such applications. However, video denoising requires a lot of computational effort and most of the state-of-the-art algorithms cannot be run in real-time at camera framerate. This article introduces a new real-time video denoising algorithm for embedded platforms called RTE-VD. We first compare its denoising capabilities with other online and offline algorithms. We show that RTE-VD can achieve real-time performance (25 frames per second) for qHD video (960×540 pixels) on embedded CPUs and the output image quality is comparable to state-of-the-art algorithms. In order to reach real-time denoising, we applied several high-level transforms and optimizations (SIMDization, multi-core parallelization, operator fusion and pipelining). We study the relation between computation time and power consumption on several embedded CPUs and show that it is possible to determine different frequency and core configurations in order to minimize either the computation time or the energy

    Real-time embedded video denoiser prototype

    Get PDF
    International audienceLow light or other poor visibility conditions often generate noise on any vision system. However, video denoising requires a lot of computational effort and most of the state-of-the-art algorithms cannot be run in real-time at camera framerate. Noisy video is thus a major issue especially for embedded systems that provide low computational power. This article presents a new real-time video denoising algorithm for embedded platforms called RTE-VD [1]. We first compare its denoising capabilities with other online and offline algorithms. We show that RTE-VD can achieve real-time performance (25 frames per second) for qHD video (960x540 pixels) on embedded CPUs with an output image quality comparable to state-of-the-art algorithms. In order to reach real-time denoising, we applied several high-level transforms and optimizations. We study the relation between computation time and power consumption on several embedded CPUs and show that it is possible to determine find out frequency and core configurations in order to minimize either the computation time or the energy. Finally, we introduce VIRTANS our embedded real-time video denoiser based on RTE-VD

    Débruitage vidéo temps réel pour systèmes embarqués

    No full text
    In many applications, noisy video can be a major problem. There are denoising methods with highly effective denoising capabilities but at the cost of a very high computational complexity. Other faster methods are limited in their applications since they does not handle high levels of noise correctly. For many applications, it is however very important to preserve a good image quality in every situation with sometimes strong embedding constraints. In this work, the goal is to propose an embedded solution for live video denoising. The method needs to remain efficient with even under high level of noise. We limit our work to embedded CPU under 30W of power consumption. This work led to a new video denoising algorithm called RTE-VD: Real-Time Embedded Video Denoising. RTE-VD is composed of 3 steps: stabilization, movement compensation by dense optical flow estimation and spatio-temporal filtering. On an embedded CPU (Jetson AGX), RTE-VD runs at 30 frame per seconds on qHD videos (960x580 pixels). In order to achieve such performance, many compromises and optimizations had to be done. We compare RTE-VD to other state-of-the-art methods in both terms of denoising capabilities and processing time. We show that RTE-VD brings a new relevant tradeoff between quality and speed.Pour beaucoup d'applications, la présence de bruit dans les vidéos peut être un problème majeur. Des algorithmes de débruitage existent, la plupart sont qualitativement très efficaces mais au prix d'un temps de traitement trop important pour pouvoir envisager une implémentation temps réel embarquée. D'autres méthodes, plus rares, peuvent être exécutées en temps réel mais gèrent mal les forts niveaux de bruit. Pour bon nombre d'applications, il est cependant important de conserver une bonne qualité d'images en toutes conditions avec parfois d'importantes contraintes d'embarquabilité. Dans ces travaux, nous cherchons à proposer une solution de débruitage vidéo qui permet un traitement en direct sur des systèmes embarqués. La solution proposée doit rester efficace même pour de forts niveaux de bruit. Ici, nous nous limitons à l'utilisation de CPU embarqués d'une consommation inférieure à 30W. Les travaux menés dans le cadre de cette thèse ont permis la mise en place d'une chaîne de débruitage nommée RTE-VD (Real-Time Embedded Video Denoising). RTE-VD se décompose en trois étapes : stabilisation, recalage temporel par flot optique et filtrage spatio-temporel. Sur un CPU embarqué (Jetson AGX), RTE-VD permet de traiter à une cadence de 30 images par seconde, des vidéos au format qHD (960x540 pixels). Afin de pouvoir atteindre ces performances, de nombreux compromis et optimisations ont dû être faits. Nous comparons RTE-VD à d'autres méthodes de référence de la littérature à la fois en termes de qualité du débruitage et de vitesse d'exécution. Nous montrons que RTE-VD apporte un nouveau positionnement pertinent au niveau du rapport qualité/vitesse

    Real-time video denoising for embedded systems

    No full text
    Pour beaucoup d'applications, la présence de bruit dans les vidéos peut être un problème majeur. Des algorithmes de débruitage existent, la plupart sont qualitativement très efficaces mais au prix d'un temps de traitement trop important pour pouvoir envisager une implémentation temps réel embarquée. D'autres méthodes, plus rares, peuvent être exécutées en temps réel mais gèrent mal les forts niveaux de bruit. Pour bon nombre d'applications, il est cependant important de conserver une bonne qualité d'images en toutes conditions avec parfois d'importantes contraintes d'embarquabilité. Dans ces travaux, nous cherchons à proposer une solution de débruitage vidéo qui permet un traitement en direct sur des systèmes embarqués. La solution proposée doit rester efficace même pour de forts niveaux de bruit. Ici, nous nous limitons à l'utilisation de CPU embarqués d'une consommation inférieure à 30W. Les travaux menés dans le cadre de cette thèse ont permis la mise en place d'une chaîne de débruitage nommée RTE-VD (Real-Time Embedded Video Denoising). RTE-VD se décompose en trois étapes : stabilisation, recalage temporel par flot optique et filtrage spatio-temporel. Sur un CPU embarqué (Jetson AGX), RTE-VD permet de traiter à une cadence de 30 images par seconde, des vidéos au format qHD (960x540 pixels). Afin de pouvoir atteindre ces performances, de nombreux compromis et optimisations ont dû être faits. Nous comparons RTE-VD à d'autres méthodes de référence de la littérature à la fois en termes de qualité du débruitage et de vitesse d'exécution. Nous montrons que RTE-VD apporte un nouveau positionnement pertinent au niveau du rapport qualité/vitesse.In many applications, noisy video can be a major problem. There are denoising methods with highly effective denoising capabilities but at the cost of a very high computational complexity. Other faster methods are limited in their applications since they does not handle high levels of noise correctly. For many applications, it is however very important to preserve a good image quality in every situation with sometimes strong embedding constraints. In this work, the goal is to propose an embedded solution for live video denoising. The method needs to remain efficient with even under high level of noise. We limit our work to embedded CPU under 30W of power consumption. This work led to a new video denoising algorithm called RTE-VD: Real-Time Embedded Video Denoising. RTE-VD is composed of 3 steps: stabilization, movement compensation by dense optical flow estimation and spatio-temporal filtering. On an embedded CPU (Jetson AGX), RTE-VD runs at 30 frame per seconds on qHD videos (960x580 pixels). In order to achieve such performance, many compromises and optimizations had to be done. We compare RTE-VD to other state-of-the-art methods in both terms of denoising capabilities and processing time. We show that RTE-VD brings a new relevant tradeoff between quality and speed

    Détection temps réel de météores à bord d'un nanosatellite, application au projet Meteorix

    No full text
    National audienceDans cet article, nous présentons une nouvelle chaîne de traitements pour la détection et le suivi de météores depuis un nanosatellite. Les contraintes d'embarquabilité sont fortes : temps de traitement et consommation électrique.Nous avons donc choisi un ensemble d'algorithmes avec un rapport le plus équilibré possible entre complexité et précision.Les spécificités architecturales ont également orienté nos choix algorithmiques en vue de futures optimisations.La chaîne de traitement présentée ici repose principalement sur une estimation de vitesse par flot optique et des calculs de statistiques circulaires. Si les autres méthodes de l'état de l'art sont efficaces pour la détection de météores depuis le sol, nous montrons que celle présentée ici l'est pour une détection depuis l'espace

    A new SIMD iterative connected component labeling algorithm

    No full text
    International audienceThis paper presents a new multi-pass iterative algorithm for Connected Component Labeling. The performance of this algorithm is compared to those of State-of-the-Art two-pass direct algorithms. We show that thanks to the parallelism of the SIMD multi-core processors and an activity matrix that avoids useless memory access, such a kind of algorithm has performance that comes closer and closer to direct ones. This new tiled iterative algorithm has been benchmarked on four generations of Intel Xeon processors: 2×4-core Nehalem, 2×12-core Ivy-Bridge, 2×14-core Haswell and 57-core Knight Corner. Macro meta-programming was used to design a unique code for SSE, AVX2 and KNC SIMD instruction set
    corecore